Don't update definition with kwargs

otherwise, definition_helpers' kwargs will be put into the return
value
Store 'enum' property; reorganize tests