I don't like the use of constants here. You're treating the value as boolean everywhere else anyway (no explicit checks for === IGNORE_GROUPS but a simple if($requireGrroups)) so we should keep this boolean and drop the constants.