I\'m having a hard time describing this problem. Maybe that\'s why I\'m having a hard time finding a good solution (the words just aren\'t cooperating). Let me explain via cod
I would use types, not enums, for the data structures... E.G. Create an interface IFruit that has the following:
IFruit
interface IFruit { bool NeedsCoring(); void GetEaten(Person by); // etc. }
And then I would just call the methods already there for determining whether it needs to be cored or whatnot.