Very Lengthy, but try this one!
GlobalObjects.Contacts.Where("ContactID = '"+Contact.ContactID+"' and ContactID in (Select ContactGroupMemberRelatedID from OM_ContactGroupMember where ContactGroupMemberContactGroupID in (Select ContactGroupID from OM_ContactGroup where ContactGroupName like '%Event%'))").Count > 0
Performance may be...so so. It may be better to make a custom macro method gets a list of all the Contact IDs for all the groups given the name, caches that, then does the comparison so it really only does 1 query, and checks any contact ID against that list.