add support for enum