Fine-Tuning Diffusion Generative Models via Rich Preference Optimization