Egg groups are categories which determine which Pokémon are able to breed with each other. A Pokémon can belong to either one or two egg groups.
A Pokémon can only successfully breed with another Pokémon if the two are opposite genders and share an egg group. The exceptions are the Undiscovered group which cannot breed at all, and the Ditto group which can breed with any other group that can breed.
NOTE: Just an attempt at a different way of sorting eggs. Go here for the official page
Ignore the numbers that go above 1000, those are just duplicate entries to ensure dual egg mon fall into both categories.