You cannot do what you are trying to do. You will need to update your XML to something like the following:
<my:Choices>
<my:Choice name="Fruits">
<my:Name>Apple</my:Name>
<my:Name>Peach</my:Name>
<my:Name>Pear</my:Name>
</my:Choice>
<my:Choice name="Veggies">
<my:Name>Carrot</my:Name>
<my:Name>Pea</my:Name>
</my:Choice>
</my:Choices>
With this structure, you can now "filter" your choices in the second list based on the @name attribute of the my:Choice element. You can now also use the @name attribute to populate your first list.
InfoPath just doesn't give you enough flexibility to dynamically change the XPath (i.e. /my:Fruits/my:Fruit vs. /my:Veggies/my:Veggie) on the fly.