I think that this deserve new variable name as in fact it is not option list but options_with_value. So maybe in previous comment it should be prepend with valid_options*
It is really confusing as I look into cycle and see that you validate key with with_value variable and it is quite confusing.