Exercise to reimplement Enum functions.