What to do when an enum name clashes with a class name?
Embed the enum in the class:
public class Pitch
{
public enum Kind {
Fastball,
Curveball,
Sinker
}
}
You can then access it through the class:
Pitch.Kind.Fastball
Name the enum PitchType, PitchKind, PitchMagnitude, PitchQuality, PitchShape, PitchSpeed, PitchStrength or whatever fits best.
Another consideration is whether the class design could be improved. Instead of having a PitchType property inside the class Pitch, you could also create a class hierarchy:
public abstract class Pitch {}
public class Fastball : Pitch {}
public class Sinker : Pitch {}
public class Curveball : Pitch {}