I second Ziechael's comments, but the likely solution is going to involve creating a rollable table with the 8 damage types as equally weighted entries, and adding two separate rolls of the table to the macro output via [[ 1t[TableName] ]] [[ 1t[TableName] ]] syntax for the player to choose from. Without API script access, it's going to be a little tricky, because part of the damage roll is also supposed to determine the damage type. You could either ignore that, rolling the 2d8 + 1d6 damage separately from the damage type roll, or output each damage die independently and add them up in your head. If the latter, you would need to have each entry in the rollable table include the damage roll. So instead of just "acid", "cold", etc. the table entries would be "1 acid damage", "2 cold damage", etc. If it were me, I'd just roll the total damage dice, then separately roll for damage type to give it a cleaner look, but if you want to be true to the spell as-written, you'll probably have to go with the 2nd option.