Ennis is Gay. Just because a guy is masculine and has sex with women doesn't mean he is bisexual or "environmentally changed" to think he was Gay.
I am very masculine. I had no Gay influences growing up. I always thought some of my male classmates were attractive. I didn't feel any desire to date girls, but eventually did to "conform" to what was expected. Sure, Gay guys CAN perform sexual acts with girls. Eventually I realized that I had to be myself. But as Ennis found out, he wanted Jack, not Alma. Hell, Ennis didn't want anyone but Jack, male or female. That is Love.
If Ennis was Bisexual, he'd be nailing cute girls in town like cassie with no regrets. But I think Ennis only dated Cassie to keep his "Straight" mask on. Thats why after the big fight with Jack, he knew it was pointless to keep leading her on. Even Ennis knew by then that he was Gay.