He was both, technically, but if push came to shove I think identifying him as "English" would be more sensible. Henry VIII was the product of the House of Tudor, which was started when a minor Welsh nobleman named Owen Tudor (secretly) married Henry V's widow, Catherine of Valois (or at least had children with her). They had two sons, Edmund and Jasper, who were ostensibly French/Welsh/French. Edmund, Henry VIII's grandfather, married an Englishwoman, Margaret Beaufort, which begat Henry VII, who was therefore Welsh/English (having never really identified with his French ancestry during his lifetime). Henry VII went on to marry an English noblewoman of his own, Elizabeth of York, and from them comes Henry VIII. So, technically Henry VIII is a product of English, French, and Welsh blood, but, like his father before him (post-coronation, I might add), he never heavily emphasized or focused much on his Welsh heritage. This was both practical and understandable. Henry VIII had not been raised in Wales, therefore his exposure to Welsh heritage would've been minimal, and his claim to the throne lay through his English heritage, not his Welsh or French heritage, ergo it was more critical to play up the English aspect of his lineage than the Welsh aspect. I think it's probably easy to romanticize the idea that Henry VII/Henry VIII thought of themselves as proud Welshmen, but I the truth of the matter is they would have downplayed that assertion and identified themselves as English for the purposes of rulership. Indeed, Henry VIII would likely have bristled at the assertion that he was Welsh, as it could be viewed as a statement delegitimizing his claim to the throne. He would've seen himself as English, in the way that the modern House of Windsor considers itself English, not German, even though they are technically from Gothe Saxe-Coburg.
Source http://www.bbc.co.uk/history/british/tudors/wales_tudors_01.shtml