Internet Access - Full and Partial or Timed Access

I have a simple LAN network [192.168.0.1/24]. Basically, recently lots of internet abuse in the office. What I need to do is get 3 groups/classes of users. Group 1 - Full Internet Access, Group 2 - Partial [Specific Websites] and Group 3 - Timed access only.

In the past, I worked with manually getting MAC addresses from each and every device connecting to the network then assign an IP address to each MAC. Create address list and add firewall rules accordingly. That worked well enough but it took too much time to setup. Also, there is the constant addition or change of devices such as phones and tabs meaning all the devices had to be updated constantly on the address lists etc etc. I was wondering if there are any other simpler ways to go about it. Any help would be appreciated.

I suggest that you connect your devices basing on interface. For example, ether2 full access, ether3 partial, etc.

After that create firewall mangle rules which will mark packets based on interface and with firewall filter rules limit this traffic.

Based on interfaces would mean multiple switches, right? Sorry if am missing your point.