Enum provides support for various different ways of defining an enum in Elm.
Creates an enum definition from a list of possible values and a definition opf
the toString function.
Creates a dict with a single entry with an Enum key.
Creates a decoder for dictionaries with enum values as keys.
Creates an encoder for dictionaries with enum values as keys.
Turns a Dict with enum keys, into a normal Dict with the enum keys as strings.
An enum is a list of possible values and a function for turning an instance of one into a string.