You should be able to use a spatial relator to check this, send the data to both Requestor and Supplier, use a unique ID as Attributes that must differ so you are not checking features against themselves and then use the class as the GroupBy. Touching polygons will have a related candidate count of >0
You could also use a Dissolver, grouping by class and building a list of dissolved polygons. Only polygons with the same class that are touching each other will be dissolved and thus have a list of the polygons that were touching.
You should be able to use a spatial relator to check this, send the data to both Requestor and Supplier, use a unique ID as Attributes that must differ so you are not checking features against themselves and then use the class as the GroupBy. Touching polygons will have a related candidate count of >0
You could also use a Dissolver, grouping by class and building a list of dissolved polygons. Only polygons with the same class that are touching each other will be dissolved and thus have a list of the polygons that were touching.
Thanks @ebygomm, that worked great.
B