Added more functionality and types to TypeEnum