Actually I think I finally figured it out. I am using EDG and found the dash:SubClassEditor on the forms. The example provided was a little hazy (
https://datashapes.org/forms.html#SubClassEditor) on how to use it.
Here is an example of what I was describing above seems to work.
test_ontology:Mammal
a owl:Class ;
a sh:NodeShape ;
edg:acronym "mam" ;
rdfs:label "Mammal" ;
rdfs:subClassOf owl:Thing ;
sh:property test_ontology:Mammal-type ;
.
.
test_ontology:Mammal-type
a sh:PropertyShape ;
sh:path rdf:type ;
dash:editor dash:SubClassEditor ;
dash:rootClass test_ontology:Mammal ;
sh:name "mammal type" ;
sh:nodeKind sh:IRI ;
.
test_ontology:Dog
a owl:Class ;
a sh:NodeShape ;
edg:acronym "mam" ;
rdfs:label "Dog" ;
rdfs:subClassOf test_ontology:Mammal ;
sh:Class test_ontology:Mammal ;
.
If the instance was created under the class "Mammal", I am able to use the "mammal type" property to switch to the rdf:type to a different subClassOf mammal.