In Document Library Settings>Advanced Settings>Allow Management of Content Types.
Add all the fields you need to the content type. Still in the Doc Library Settings, click on your content type to edit it. There is a Status column, where Status can be Required, Optional, Hidden. Yes, so you can see where I'm going with this. The fields you set to
hidden will not show up when the user is uploading a document.
As for the
value in the hidden field(s) - if you define the hidden fields to have a
default value then the field will be populated with that value when a new document is uploaded; that would happen behind the scenes.