There are two capabilities for calendar: manageentries (allows adding course and group entries, and site entries if you have it at site level) and manageownentries (allows adding personal entries).
This means it is not possible to set up a user who is allowed to add entries only to their own group's calendar, but not to the course. At the OU we need this feature because tutors (think 'non-editing teachers') ought to be able to add entries to their own groups, but we don't want them adding stuff across the whole course.
I propose adding the 'managegroupentries' capability. I have attached a patch that does this for 1.9 branch. Also I tidied up a few potential bugs, and removed an unnecessary database query or two that were directly related to these checks. The patch is a bit more extensive than I had initially expected, so I'm hoping somebody from moodle.com will review it before I check it in.
I tested this by creating course and group events as a teacher, then applying the patch and updating teacher roles to not allow manageentries, and checking I can still create group events. It appears to work.