I would split the tree up into several seperate models.
For example the trunk, and each main branch. If needed, brachnes can be split further.
Another upshot of this is that you dont have one drawcall anymore handling the whole tree.
If split into smaller meshes, the branch on the “far side” of the tree can be clipped…
If you create sockets for the branches on the trunk, you can then also easily swap out branches.
That way, your tree stays even, to some extent, configurable…
Oh, and you dont have to cram the entire tree into on big texture…