Standardised enum validation and form building.

We had a conflict between the values we were using to auto build selects, validate and store enum. Now we have the following;

- Select uses the enum const value as value and titleized const name as text.
- Validator checks that we can get `constFromValue` for the enum.
- Mapper requires the value to be stored.