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.

@swankjesse @danrice-square