So basically, you have a 4 digit display with each digit being a 7-segment display.
Now, you have four low-active digit enable DIGEN_L for each digit. (Btw, why did your vector have five bits?)
The idea here is that you code your BCD to 7-seg decoder as you would normally do. So we have our entity
entity bcd2sevseg {
BCD : in std_logic_vector(3 downto 0);
SEVEN_SEG : out std_logic_vector(6 downto 0);
DIGEN_L : out std_logic_vector(3 downto 0)
};
Now, you said how to code the actual decoder, so BCD and SEVEN_SEG should be clear. Your professor asked that you supply a static value to DIGEN_L. So just go ahead and do that:
DIGEN_L <= "0111";
The idea here is that all 7-segment displays share the same signals for the individual segments (SEVEN_SIG if you will). However, all drains for the LEDs are connected to individual lines, DIGEN_L (or progrably a transistor controlled by DIGEN_L). So if you switch DIGEN_L rapidly while supplying a different digit on each switch, you will see that all four digits display their respective number, because of persistence of vision.
However, in your example, you will start out with just having one digit and a future assignment will be to display two or more digits, where you will learn how to multiplex and possibly concern yourself with pulse-width modulation for dimming individual digits.