Change `validates_as_enum` to allow symbol values for string enums

In order for this change to be consistent, the generated setters
for the enum will now coerce the given value to a string before
checking if it is valid.