This conversion is :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*" name="identity">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Like[1]">
<Likes>
<xsl:apply-templates select="../Like" mode="copy"/>
</Likes>
</xsl:template>
<xsl:template match="*" mode="copy">
<xsl:call-template name="identity"/>
</xsl:template>
<xsl:template match="Like"/>
</xsl:stylesheet>
when applied to the provided XML document :
<Villain>
<Name>Dr Evil</Name>
<Age>49</Age>
<Like>Money</Like>
<Like>Sharks</Like>
<Like>Lasers</Like>
</Villain>
creates the desired, correct result :
<Villain>
<Name>Dr Evil</Name>
<Age>49</Age>
<Likes>
<Like>Money</Like>
<Like>Sharks</Like>
<Like>Lasers</Like>
</Likes>
</Villain>
Please note :