VHDL: How does one assign custom values to identifiers of an enumerated type?
See Ashenden "Designer's Guide to VHDL" (chapter 20.2).

given the type definition from the other answer

type ss_enum is (ss_0, ss_1, ss_2, ss_3, ss_4, ss_5, ss_6, ss_7, ss_8,
                     ss_9, ss_A, ss_B, ss_C, ss_D, ss_E, ss_F);


we can assign a representation to it via an attribute:

attribute encoding of ss_d[return ss_enum] : literal is b"1000010";


and then we should be able to access that value via the attribute syntax:

signal ss : ss_enum;
signal LED_port : std_logic_vector(6 downto 0);
...
LED_port &lt;= ss`encoding;


I do not know how Modelsim will display the LED_port signal, but I would expect it to display the ss_enum signal using its enumeration values ss_D etc.

In practice I find it unnecessary to assign encodings, I would declare a constant array for this purpose, the syntax is shorter and tidier, and it'll usually synthesise down to the same thing. 

constant lookup : array(ss_enum) of std_logic_vector(6 downto 0) := (
   ss_0 =&gt; ...
   ...
   ss_D =&gt; b"1000010",
   ... );
...
LED_Port &lt;= lookup(ss);


This approach doesn't answer your waveform display question, but I find it's better to make the simulation self-checking; then, looking at waveforms is the exception (when something went wrong) rather than the rule, and therefore it's much less important.