I tried to reproduce this. WFA3.0P2 to WFA3.1P2 and I don't see any problem. My Category restrictions work totally fine.
What happened in your case? I'm not sure, it could be a user mistake. But the scanario of moving to 3.0 -> 3.1P2 doesn't lose category restrictions.
Is it a bug?
Perhaps not. On your WFA3.1P2 after restoreing the backup file. Open WFA-> Designer->Categories and see if your category has the right operators restricted.
How can i restrcit a user to only execute some workflow?
1. Mark your workflow(s) ready-for-production. This will allow them to be seen in WFA Portal
2. Create a new category and select workflows into them from available list.
3. At Bottom check the check-box "Restrict access to workflows in this catrgory to following users
Select your operators
1. A workflow is not exclusive to a single category
2. Restricted access for a category is not madatory
This means even if you have applied category restriction(opr1,opr2) for a single category (cat1) with a bunch of workflows, and you have another catogory(cat2) having some common workflows and category restriction are not restricted for cat2. Then opr3 can't see catgory cat1 but since he has access to cat2, he can execute those workflows.
So you need to take of this.
If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.