Add support for enums on properties

'location':  {'label': 'Location',
                  'enum': {'close', 'far', 'up','down'},
                 }

'location':  {'label': 'Location',
                  'enum': {"1": "close", "2": "far"},
                 }