how to make a filter on a view be on the result of a select query
I'm pretty sure Drupal 8 does this out of the box when you expose the field as a view filter. The drupal 8 documentation for Views and it's Filters is clear on how to set this up and I believe a Select list is possible with if your field is an integer or a date limited to a Year component.

https://www.drupal.org/docs/8/core/modules/views/expose-a-filter-to-site-visitors