Hi Dennis
There is no "out of the box" functionality that will do this, however I think an easy way to do it would be the following:
First up create a new field (picklist) with the classes values in it for the contact record, publish this.
Then create the advanced finds as saved views for the users and then share them to the organisation so all users will have them in their my views dropdown in the left hand corner.
It will be a couple of hours work for yourself but will be no hassle for your client and will give them exactly what they want!
with regards to the newsletter stuff, you have two way of doing it
1. adding the users to a marketing list and then running a mail merge onthose users (manual updating of list is essential to maintain data integrity)
or what I have done in the past for clients is create a couple of bit fields (yes or no) for each category on the contact form, ie newsletter yes or no, so that your client fill this in when they get a new contact, they then can run an advanced find to find all those who say yes and run a mail merge on that...
hope that helps
Allan