Ну а как ты хотел? У тебя же там не было готового компонента для селекта.
Но в целом там не так все сложно, как кажется.
2. Завел специальный тип BeerColor, в котором перечислил возможные варианты ввода и в BeersColorFilter прописал на вход обязательный параметр color.
Все. При выборе в селекте меняется УРЛ. Измененный УРЛ прилетает в getBeersVariables(), формируется новый запрос за пивом и передача color обратно в фильтр.