Ensure that values are unique for an Enum class.

- Add a new Validator which will check for uniqueness and  append increasing numbering to names
- Use this to ensure that Enum names are unique
- Refactor class name validator to use new uniqueness test.