Scaling the group mapping to role

I have successfully configured Grafana login to use Keycloak. The user is able to log into Grafana using OAuth and can get the role based on the team/group the user belongs to (the groups information is returned as part of the OAuth reply). I have a question on how to scale the query like below that maps group to Grafana Role like Admin/Editor/Viewer as we have around 60 teams in our company. Some teams need Org Admin rights, some teams Grafana Admin, some team Editor rights. JMESPath query is getting longer with all the teams in the query? is there a better way to map multiple groups/teams to grafana roles.

role_attribute_path = contains(info.groups[], ‘team1’) && ‘Admin’ || contains(info.groups[], ‘team2’) && ‘Editor’ || ‘Viewer’