Reference

Reason Description
NATURAL When something spawns from natural means.
JOCKEY When an entity spawns as a jockey of another entity (mostly spider jockeys)
CHUNK_GEN When a creature spawns due to chunk generation.
SPAWNER When a creature spawns from a spawner.
EGG When a creature spawns from an egg.
SPAWNER_EGG When a creature spawns from a Spawner Egg.
LIGHTNING When a creature spawns because of a lightning strike.
BUILD_SNOWMAN When a snowman is spawned by being built.
BUILD_IRONGOLEM When an iron golem is spawned by being built.
BUILD_WITHER When a wither boss is spawned by being built.
VILLAGE_DEFENSE When an iron golem is spawned to defend a village.
VILLAGE_INVASION When a zombie is spawned to invade a village.
BREEDING When an animal breeds to create a child.
SLIME_SPLIT When a slime splits.
REINFORCEMENTS When an entity calls for reinforcements.
NETHER_PORTAL When a creature is spawned by nether portal.
DISPENSE_EGG When a creature is spawned by a dispenser dispensing an egg.
INFECTION When a zombie infects a villager.
CURED When a villager is cured from infection.
OCELOT_BABY When an ocelot has a baby spawned along with them.
SILVERFISH_BLOCK When a silverfish spawns from a block.
MOUNT When an entity spawns as a mount of another entity (mostly chicken jockeys)
TRAP When an entity spawns as a trap for approaching player(s).
CUSTOM When a creature is spawned by plugins.
DEFAULT When an entity is missing a SpawnReason.

Copied from: bukkit docs - Spawn Reason