I see. 3 things-
1- sum(Hours_Done, Stage) will not function. Like, at all. The reason why is because SUM is a numeric function, and Stage is not numeric.
2- What I assume you are trying to accomplish here is “If the category is Main Stages, then display the number of hours worked, and follow that with the value found in Stage.” I took the liberty of recreating a portion of your table schema to make this:

The formula in the Billing column is as follows:
IF(IF(Category=“Main Stages”, TRUE(),FALSE()),Hours_Done & " - " & Stage,"[Non-Main Stage]")
If anything in that formula doesn’t make sense to you, just let me know, and I’ll explain.
3- If you want to “take this to the next level” I would seriously look at form views, relational tables, and lookup tables to make an at-a-glance view along with forms that allow engineers on the ground to provide updates on the fly. This would require a fairly substantial rework of your base, but in the end you’d have a much more functional tool. A neat trick you can do with Airtable when you want to maintain control of the base (read: not give share access to anyone else) is to create a submission table (or multiple tables) along with forms to add records to that table, and have those submission tables update formula fields in tables that are not shared. I have used this to create web dashboards. After building the thing, simply create a view that displays exactly the information you want a dashboard element to display, create a sharing link of that view that you share with no one, and embed that view as an iframe anywhere you feel like it.