Ennis’ new deal will keep him with Wolves until 2020 with the option of a further year.
The 18 year old, who began the season on loan ay Sky Bet League One side Shrewsbury Town was forced out of action with a knee injury after making two appearances for the club.
It has been a frustration 18 months for the forward, suffering two long-term injuries which have kept him out for most of last season as well and most of this season so far.
Ennis admits that his future had been playing on his mind but he can now focus on getting back to full fitness.
“My future has been playing on my mind a little bit especially with being injured but I believe in my ability and I’ve got a good relationship with the club,” he said.
“They know my quality, I just need to make sure I can push back into things.
“The last year or so has been frustrating for me but that’s in the past now.”
Wolves sporting director Kevin Thelwell said, "I know he’s currently injured and that he’s working his way back but we all recognise the high potential that he’s got and we also understand at the football club how important it is to have your best young players remain at the football club.
“We’re all really delighted that we’ve tied him down to a longer contract and hopefully he’ll be back fit and well as soon as possible - then pushing into the first team plans.”