The Source or Destination MAC address does not have to be unique across different VLANs. Therefore, you can not create a correlation between the MAC address of the frame and the VLAN the frame should be in.
Take First Hop Redundancy Protocols (HSRP/VRRP), for example. You could have a pair of L3 switches doing HSRP/VRRP for five different VLANs. If each VLAN uses the same VRRP ID# then each VRRP Gateway IP address will share the same MAC address (00-00-5E-00-01-<ID#>). You would then have the exact same MAC address in five different VLANs.
The real reason you need VLAN Tagging is to distinguish VLAN traffic on a port where multiple VLANs can exist.
An access port is a port which carries traffic for only one VLAN. A Trunk port is a port which carries traffic for multiple VLANs.
On Trunk ports, all the frames are still carried across the wire in the form of 1
s and 0
s. Something has to exist in order for the sending switch to indicate to the receiving switch which 1
s and 0
s belong to which VLAN. That something is a VLAN Tag.
The VLAN Tag will be added whenever a frame is crossing a trunk port and removed when the other switch receives the frame. It will look like this:

You can read more about VLANs and how they work in this article, and how to configure them on Cisco switches in this article.