Add enum & hasoneparent field, add etag support