From your list I like Henry best. Not a fan of Ennis but I believe in going with the name that feels right for you no matter other's opinions.
Some other suggestions you may like are Julian, Jonas, James/Jameson, Thomas, Tobias, Mathias, Elias, Ellis, Hugo, Harrison (nn Harry), Ian, Leo, Niles, Noah, Noble, Victor, Oliver.
Charles, Henry, and Nicholas are really popular. I absolutely love Lewis, and don't think it's too nerdy. It's masculine, but still quite sophisticated. Have you considered Lawrence? I'm also a fan of Walter, although I don't like the nns Walt and Wally. Ennis has a lot of teasing potential, mostly due to the spelling. Have you considered changing the spelling to Innis? It's a variant spelling, and I think you could avoid a lot of teasing by just changing the E to an I. For me, it's between Lewis and Innis.