Keep in mind that you can only do this if you are using one entity and its sub entities, because NSFetchRequest needs an entity to search for (you can specify to also search for subentities).
You need to declare a property that identifies the proper type of record you wish to retrieve and regroup. Because class is a runtime value, you need to be able to use an identifier to be used in the underlying store. So, in your particular case, I would use a constant (string or number)property on the parent entity of all the sub entities to identify which subgroup this record belongs to.