It would be better if `allowed_values` was renamed to `allowed_options` to better reflect what it is, but since that's a larger piece of refactoring than we have the appetite for now can we just use `allowed_values.select { |option| … }` to avoid the `value.value == @value` silliness.

Same applies to the other facet code.