Use detect_instance_type_loose instead of loose_type_match in deep_eq
Croak unknown type found in deep_eq
Modify a test case for enum validation