I've mentioned this in a few other topics, but when 'Mechanic' and I were at his shop, I got the chance to talk to their bodyman. He said if you're painting over body work, primer, or bare metal, use Rim Paint. Yup, the same paint strictly for painting car rims. He said it bonds really well to bodywork, bare metal, and it's super tough.
You can also paint over it, with no sanding needed, or any kind of prep work. So it makes a really good base.
But don't use tremclad, rustoleum, or any of those other rust paints. They're not that good.
I have no idea about enamel.