Hi,
I've created a test structure with 2 categories (chairs and tables), 2 groups (chairs company and tables company), 2 users (chairs man and tables man), set up visibility in order to allow only the chairs people buy chairs and tables people buy tables. And this work well with products, I mean, the tables man cannot see products in chairs category and vice versa
The problem is that this is not happening with categories. The tables user can see the chairs category. It is true that the category shows empty, but it is still there, and the user is still able to access the categoy page.