Added enum support
Fixed relavant test cases