EPO: Diverse and Realistic Protein Ensemble Generation via Energy Preference Optimization