replacing PrivilegeWithGrant with enum