Show results from a SQL Union in order by a specific select statement

I came across an issue at work the other day and I could not find much help on how to accomplish it. So again I want to share it here for others to see.

I needed to union a few SQL statements together. Oracle sorting the results by the first field was not helpful. , I wanted the results sorted in order of specific SQL statements. The solution I found that worked for me was to add a column to the query. For example

A simplified version of the table I was working with looked like this

Enclosure Connection1 Strand1 Connection2 Strand2
133977 2014 1 2826 1
133977 2014 2 2826 2
133977 2014 3 2826 3
133977 2004 1 2825 1
133977 2004 2 2825 2
133977 2004 3 2825 3

So my query for this example would be
Select 1 as sortcol,enclosure,connection1,strand1,connection2,strand2
from Connections where connection1 = 2014
UNION
Select 2 as sortcol,enclosure,connection1,strand1,connection2,strand2
from Connections where connection1 = 2004 order by strand1;

Since Oracle sorts the results by the first column now it will sort by sortcol. Before it would sort by Enclosure which did not return the results ordered how I wanted them.  Since I was using C# to output these results into a DataGridView I wanted the results already sorted and ready to be put into the grid.

You can of course put sortcol at the end of the select statement and then order by that column.

Select enclosure,connection1,strand1,connection2,strand2,1 as sortcol
from Connections where connection1 = 2014
UNION
Select enclosure,connection1,strand1,connection2,strand2,2 as sortcol,
from Connections where connection1 = 2004 order by sortcol,strand1;