How can you identify to which group a user belongs?
One method is to assign all users from a specific group to the same privilege set, then you can set a script to run when the file is opened that checks user privilege set names and goes to the layout that is appropriate:
If [ Get ( AccountPrivilegeSetName ) = "UserAPrivilegeSet" ]
Go to Layout [//specify layout for UserA group]
Else If [ Get ( AccountPrivilegeSetName ) = "UserBPrivilegeSet" ]
Go to layout [//specify layout for UserB group]
Go to Layout [//specify layout for UserC group]
Another approach would be to use this Case function inside a Go to Layout step with the "layout name by calculation option specified":
Case ( Get ( AccountPrivilegeSetName ) = "UserAPrivilegeSet" ; "LayouNameForUserAGroupHere" ;
Get ( AccountPrivilegeSetName ) = "UserBPrivilegeSet" ; "LayouNameForUserBGroupHere" ;
This second option will fail, however, if you later decide to change the layout name and fail to update this script step to use the new layout name. The first script, however, will still work without modification even when you rename a layout.