Remove unnecessary use of map of enum to tag.

Since enums now have direct access to their tag via `getValue()`, alter the generic bounds to facilitate direct access.
Merge pull request #86 from square/jw/sparse-enums

Remove unnecessary use of map of enum to tag.