So yes, there are Groups, so you could put all users at a table in a group.
You can then create a category setting the permissions so only that group can create/reply/see topics in it. (scenario 1?)
You can create categories that permit 2 or more groups to be able to create/reply/see topics in it. (scenario 2?)
Scenario 3, sounds like a good position for Moderator/Admin, where they are sort of like the Manager walking around ensuring all patrons are having a good time? If so, then assigning that user as an Admin (or Moderator – if they don’t need that much access), would resolve that (you may have to setup a category permission for staff on each category)