I have yet to work with turrets so maybe someone more knowledgeable will be able to help you out, but I could think of a way to help you out a bit.
I would recommend using a variable when the player selects a tower, so that the player can only select one tower at a time.
On Touched Gunner1
VarGunner = 0
{VarGunner set to 1
Create (your sprites for the upgrades) at Gunner1.x, Gunner1.y} (Any location you want)
On Touched UpgradeButton
VarGunner = 1
Subconditions:
Money > YourTowerUpgradeCost
{Create (upgraded tower) at Gunner1.x, Gunner1.y
Destroy Gunner1
Money variable - YourTowerUpgradeCost}
Money < YourTowerUpgradeCost
MoneySprite flash for 1 second (Just an indication to let the player know that they don't have enough money to upgrade)