Builds an Eq instance which differentiates all enum values as it's based on universal
equals.
Hash instance based on the entry name.
Builds a Show instance returning the entry name (respecting possible mixins).