Implement a UI for a long list

I want to make a UI to pick a timezone. The list comes from here and it’s 461 items long:

posix_tz_db/zones.csv at master · nayarsystems/posix_tz_db (github.com)

The problem is the list widgets (Dropdown, List, Roller) all either become uselessly laggy, or in the case of “List” it crashes the controller.

Does anyone have a suggestion on how this may be implemented?

The only idea I have right now is to group the names by the term before the “/” into two lists, so there is one list of continents and then a filtered list of areas under that once it’s selected. That reduces the lists to a smaller number each.

Suggestions very welcome.