According to my dictionary, "tommyrot" comes from "tommy" meaning "fool" and "rot," of course, meaning "nonsense." So tommyrot is a high-grade, real fool's nonsense, and not just any old generic, amateur nonsense. Similarly, I suppose, "tomfoolery" would be first-class fool's foolery, as distinct from your basic layperson's foolery. —Jonathan Caws-Elwitt