wanted to learn how to compare what's coming in from source against
the enumeration source type, if it exists use it, if it doesn't exist
then use a default value.
In XSLT 1.0 (at least), I believe it would be best to use an external lookup table in XML format, for example:
<lookup>
<entry>
<input>Australia/Canberra</input>
<input>Australia/Melbourne</input>
<input>Australia/Sydney</input>
<output>Australia/Canberra,Melbourne,Sydney</output>
</entry>
</lookup>
If the source value matches one of the input values, you would use the matching entry's output value as the output; otherwise the source input value gets passed to the output as is.
Note that your schema does not provide the necessary information to effect this replacement.