First, a quick review. There are five categories of cleaning agents: surfactants, weak corrosive agents like vinegar, oxidizers, enzymatic cleaners, and solvents. Surfactant molecules, for example, have a hydrophilic and a hydrophobic side, so they can attach to and remove messy stains and smells at the same time. Enzymatic cleaners, meanwhile, use specially-engineered blends of enzymes to attack specific types of stains and the stinks that go with them. However, for a smelly contaminant, you won’t want to use oxidizers like OxyClean and bleach, which remove stains by knocking out chromophores (the parts that absorb and emit light), because those don’t affect the stench.