I was able to figure something out which works quite well.
In case someone else is looking for something similar, this is what I did.
Text box named Group and its options (InputSettings) were Bridge/Culvert Projects|5;County Road Projects|3;General Documents|1;Instructions|2;Township Road Projects|4. I set them up to be a vertical Radio Button List. This works well.
If I select County Road Projects, a 3 is entered into the UDT database; but I needed it to display County Road Projects instead on the webpage. BUT, I also needed it to sort by the numbers so that General Documents is first, Instructions are second, etc. How to do this automatically without having to have the end-users select a number manually, was a concern as well.
Within the XSL, I created it to be an Unordered list. I also have grouping turned on so that it'll group like items by their group. See below. This works just as I had hoped. Beginning with the Choose-When option at line 47, this determines what is displayed as the header followed by the items underneath their respected groups.
_____________________________________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:udt="DotNetNuke/UserDefinedTable" exclude-result-prefixes="udt">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
<!--
This prefix is used to generate module specific query strings
Each querystring or form value that starts with udt_{ModuleId}_param
will be added as parameter starting with param
-->
<xsl:variable name="prefix_param">udt_<xsl:value-of select="//udt:Context/udt:ModuleId" />_param</xsl:variable>
<xsl:key name="data-by-group" match="udt:Data" use="udt:Group" />
<xsl:template match="udt:Data" mode="list">
<li>
<table width="100%">
<xsl:choose>
<xsl:when test="udt:Group='1' or udt:Group='2'">
<tr>
<td valign="top">
<div style="padding: 2px;">
<xsl:call-template name="EditLink" />
<xsl:value-of select="udt:Information" disable-output-escaping="yes" />
</div>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr>
<td valign="top">
<div style="padding: 2px;">
<xsl:call-template name="EditLink" />
<xsl:value-of select="udt:Information" disable-output-escaping="yes" />
: Bid Date -
<xsl:value-of select="udt:Bid_x0020_Date_UDT_Value" disable-output-escaping="yes" />
</div>
</td>
</tr>
</xsl:otherwise>
</xsl:choose>
</table>
</li>
</xsl:template>
<xsl:template match="/udt:UserDefinedTable">
<ul>
<xsl:for-each select="udt:Data[count(. | key('data-by-group', udt:Group)[1]) = 1]">
<xsl:sort select="udt:Group" order="ascending" />
<xsl:choose>
<xsl:when test="udt:Group='1'">
<li style="padding: 0 0 15px 0;">
<div style="font-size: 14px;">
GENERAL DOCUMENTS:
</div>
<xsl:variable name="currentData" select="key('data-by-group', udt:Group)" />
<xsl:if test="$currentData">
<ul>
<xsl:apply-templates select="$currentData" mode="list">
<xsl:sort select="udt:Bid_x0020_Date_UDT_Value" order="ascending" />
</xsl:apply-templates>
</ul>
</xsl:if>
</li>
</xsl:when>
<xsl:when test="udt:Group='2'">
<li style="padding: 0 0 15px 0;">
<div style="font-size: 14px;">
INSTRUCTIONS:
</div>
<xsl:variable name="currentData" select="key('data-by-group', udt:Group)" />
<xsl:if test="$currentData">
<ul>
<xsl:apply-templates select="$currentData" mode="list">
<xsl:sort select="udt:Bid_x0020_Date_UDT_Value" order="ascending" />
</xsl:apply-templates>
</ul>
</xsl:if>
</li>
</xsl:when>
<xsl:when test="udt:Group='3'">
<li style="padding: 0 0 15px 0;">
<div style="font-size: 14px;">
COUNTY ROAD PROJECTS:
</div>
<xsl:variable name="currentData" select="key('data-by-group', udt:Group)" />
<xsl:if test="$currentData">
<ul>
<xsl:apply-templates select="$currentData" mode="list">
<xsl:sort select="udt:Bid_x0020_Date_UDT_Value" order="ascending" />
</xsl:apply-templates>
</ul>
</xsl:if>
</li>
</xsl:when>
<xsl:when test="udt:Group='4'">
<li style="padding: 0 0 15px 0;">
<div style="font-size: 14px;">
TOWNSHIP ROAD PROJECTS:
</div>
<xsl:variable name="currentData" select="key('data-by-group', udt:Group)" />
<xsl:if test="$currentData">
<ul>
<xsl:apply-templates select="$currentData" mode="list">
<xsl:sort select="udt:Bid_x0020_Date_UDT_Value" order="ascending" />
</xsl:apply-templates>
</ul>
</xsl:if>
</li>
</xsl:when>
<xsl:when test="udt:Group='5'">
<li style="padding: 0 0 15px 0;">
<div style="font-size: 14px;">
BRIDGE / CULVERT PROJECTS:
</div>
<xsl:variable name="currentData" select="key('data-by-group', udt:Group)" />
<xsl:if test="$currentData">
<ul>
<xsl:apply-templates select="$currentData" mode="list">
<xsl:sort select="udt:Bid_x0020_Date_UDT_Value" order="ascending" />
</xsl:apply-templates>
</ul>
</xsl:if>
</li>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template name="EditLink">
<xsl:if test="udt:EditLink">
<a href="{udt:EditLink}">
<img border="0" alt="edit" src="{//udt:Context/udt:ApplicationPath}/images/edit.gif" />
</a>
</xsl:if>
</xsl:template>
</xsl:stylesheet>