Change Protocol enum to final class to avoid calling .toString() all the
time
Minor cleanup