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