A workout might be as follows:
1- On a page put dataview of the main entity ( Product group in your case )
2- Layout grid of 4,4,4
3- List view to each other with xpaths of enum ( for each grid one of the groups can be shown) , adjust the list view as you want
4- Under each list view put a checkbox
5- Add an attribute named isShown etc. boolean (default false) to the second entity (Product in your case)
6- Check box change event > call microflow > retrieve the products of that enum and change all isShown to true.
7- Put another list view of the second entity under the 4,4,4 grid with an xpath of isShown true.
8- If you want to use checkboxes with the second entity, just repeat the steps (with different events)
Here you are, I hope that works for you.
Please see this quick example, each list view should have an xpath to shown expected enumeration of product groups. You can adjust the contents of the listviews and add on change event to the check boxes.