This seems to work:

"U1" on the '153 should read "U2", but Imgur was unhappy with my edited .png, so "U1" it stays.
The LTspice files are here, and if you want to play with the circuit just download them all into the same folder and run the .asc file with LTspice.
3-into-8 decoder with negative active inputs, a positive active enable and positive active outputs.
What I like to do for assignments is make a sanity check for at least 3 random cases and see if that checks out, do what I think is correct, then once I'm done, check again, with my first sanity check.
According to what you said, then these 3 expressions should be true:
\$\scriptsize EN = 0, A = B = C = 0 => D_7 = D_6 = D_5 = D_4 = D_3 = D_2 = D_1 = D_0 = 0\$
\$\scriptsize EN = 1, A = B = C = 0 => D_7=1,D_6 = D_5 = D_4 = D_3 = D_2 = D_1 = D_0 = 0\$
\$\scriptsize EN = 1, A = B = C = 1 => D_7 = D_6 = D_5 = D_4 = D_3 = D_2 = D_1 = 0, D_0 = 1\$
Let's continue with the rest.
$$\begin{array}{|c|c|}
\hline E & C & B & A && D_7 & D_6 & D_5 & D_4 & D_3 & D_2 & D_1 & D_0 \\\hline
\textbf{0} & \textbf{X} & \textbf{X} & \textbf{X} && \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} \\\hline
\textbf{1} & \textbf{0} & \textbf{0} & \textbf{0} && \textbf{1} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} \\\hline
1 & 0 & 0 & 1 && 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\hline
1 & 0 & 1 & 0 && 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\\hline
1 & 0 & 1 & 1 && 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\\hline
1 & 1 & 0 & 0 && 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\\hline
1 & 1 & 0 & 1 && 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\\hline
1 & 1 & 1 & 0 && 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\\hline
\textbf{1} & \textbf{1} & \textbf{1} & \textbf{1} && \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{1} \\\hline
\end{array}$$
I've bolded my sanity checks, which checks out. Inverting inputs is evil.
And you got your diagonal wrong in your image.
Here's a sanity check for you that probably got you overthinking things.
\$B = C = A = 0 => inverted => 111_2 = 7\$
Best Answer
I don't know how it was derived, but for a simple case like this I would just look at each line and see what logical combination of inputs create each output:-