generate property enum