suppose you want 1 course for several classes ?
create some groups (for the classes), edit group properties (number of seats, ...) and set access limitations on the particular tool (from the list: documents, agenda, announcements, wiki, forum, chat, student publications ) and do some test with the users assigned to the different groups.
As far as i know there is no logic to assign chamilo defined class to the group (like you can do this for course enrolment), so there will be some workout to assign users to the particular groups
As for the groups: you can set some global groups settings before you create any group that will be applied to any newly created group. You can change those settings afterwards (when group is created) to adapt to the needs of special group.