Any detergent with enzymes is a good way to go but it really depends on the type of stain. The best for me through the years has been Tide. On the back of cheer it says to use Tide for stains! It is best to pretreat and possibly soak before you wash.
Dish liquid "DAWN{ presoak -rub in- rest it- then wash {no other soap needed} with my kids allergies this is what I found that they tolerated and it really works, if it is a stubborn stain use club soda first-pour on stain-, let it bubble then add the dawn with a sponge or brush:) good luck.
I use a combination of whatever detergent is on sale and Oxiclean. If there is a difficult stain, I make a paste of the Oxiclean and rub it on the stain. I then combine all the clothes to be washed and hope for the best.