Earlier quoted context omitted.
Never mind that the function casts (coerces? constructs?) ints to bread and ints to bacon. Let alone how it's got a special "plus" operator that can work on bread/bacon and return a sandwich...
If you look carefully at the screenshot, you'll see that bread and bacon are declared to be ints above the method. =]
public enum Ingredients { BREAD, BACON }
public enum Delicatessen { BACON_SANDWICH }