Comments by Petr:
- code change - hide inaccessible module instances on the reports reports for students/parents (optional)
- docs - instruct teachers to groups the activities for different groups into special category/categories (use the same max grade)
- docs - set up aggregation in this category to Average - set keephigh==1
This approach is usable only if you divide the students into non-overlapping groups and create a separate grouping for each activity.
The recommended workflow for teachers is:
1/ create gradebook category "Separate assignments", set up average aggregation with keep high 1
2/ create 4 groups and 4 groupings - add 1 group into each grouping (+ assign students to groups)
3/ create 4 assignments - set groupmembersonly and set parent category
I can not see any way to automate this complex process, I personally think it is better to educate teachers instead.